#include "behavior_base.h"

class Pro : public bb::processor::Processor {
  public:
    Pro(std::string name) : bb::processor::Processor(name) {}
    void Script() { std::cout << "pro script" << std::endl; }
};

auto main(int _1, char** _2) -> int {
    auto seq1 = std::make_shared<bb::node::SequenceNode>(bb::node::SequenceNode{"seq1"});
    auto seq2 = std::make_shared<bb::node::SequenceNode>(bb::node::SequenceNode{"seq2"});
    seq1->AddChild(seq2);
    std::cout << seq1->Name() << std::endl;
    auto pro1 = std::make_shared<Pro>(Pro{"pro1"});
    for (const auto& name : seq1->ChildNames()) std::cout << name << std::endl;
    seq1->SetScript(pro1->Name(), pro1);
    seq1->ProcessOnce();
    return 0;
}